TCP/IP Messaging
The following subsections provides information about how messaging and cryouts works with TCP/IP.
Maintain Connection Cryouts
Note: References below to cryouts apply to a TCP/IP communication device with Maintain connection enabled. This feature allows cryout-configured RTUs to send cryouts over a constant communication channel. This is not the same thing as cryout listening. For information about cryout listening, see the Cryout Listen EIE, which provides dedicated cryout listening for TCP/IP, TCP/IP MultiPoint, and UDP EIEs.
If an RTU is directly connected by serial port to the serial communications channel of a server, a serial packet is put onto the comm channel destined for the RTU whenever a request is made for data by the host. Included in that serial packet is the unique ID of that RTU. However, when an RTU cries out, the RTU puts an unsolicited message on the comm channel and the serial driver hears the message. This causes the UIS to take action by responding to the cryout. The UIS response is based on protocol and device specifications.
TCP/IP and Packet Data Modems
With packet data modems, instead of issuing the serial packet out of the COM1 the serial data is encapsulated into an IP packet and is sent to the modem at the predetermined destination IP address and TCP port. The modem strips the TCP/IP headers off of the packet and takes the serial data and drops it onto the serial port of the modem. The RTU that is connected to the modem gets the packet and responds to the request, and the procedure is reversed. The reverse path can happen because the modem knows where the TCP/IP packet originated from and knows how to reply. This is called encapsulation and is performed by every serial terminal server.
Unsolicited messages are more complex. The modem must be configured with the IP address of the CygNet server, along with the CygNet TCP listening port. The RTU puts the message on the serial port, and the message is sent to CygNet. Once the message arrives, the UIS takes the source IP address of the packet and finds the communications device with that IP address. When it finds the communications device, it looks through all of the remote devices that use that comm device for the device address in the cryout packet. Once the device is found, the UIS responds to the cryout.
Note: Where CygNet Redundancy is in use, special consideration must be given to the fact that the IP address of the CygNet server receiving a cryout packet will change during a failover event. The modem issuing the message may require additional configuration outside of the CygNet environment to accommodate failover. See Monitoring Device Cryouts for more information.
Modems and Dynamic IP Addressing
Packet data modems can be used to communicate with the remote devices. These modems come in a variety of choices for various network types (CDMA, GPRS, and CDPD). They attach to a cellular network and utilize the data capabilities of these wireless networks to provide IP transport of serial data. So, these are terminal servers and a cellular communication modems all in one.
Generally cellular packet data service providers issue dynamic IP addresses to the data packet modems on their network (although some providers allow users to purchase static IP addresses). The use of dynamic IP addressing provides a challenge where the IP address needs to be consistent, such as traditional SCADA systems.
To address this issue, some hardware providers offer a dynamic Domain Name Server (DDNS). This is not a recommended solution due to two factors: potential naming conflicts and reverse name resolution.
Potential Naming Conflicts
The DDNS attempts to keep track of the IP address of a modem based on the modem name. When the modem is assigned a new IP address it is registered in the DDNS. However, the DDNS may be shared by multiple customers and may not enforce unique modem naming. Therefore, when a new modem is added with the same name as an existing modem, the address of the "new" modem will be registered in the DDNS and the old modem will not be addressable.
Reverse Name Resolution
When the host gets an unsolicited IP message (such as a cryout), the source IP address in the message will not match an IP address in the host since the Communication Devices will be configured with names (such as modemname.provider.com) to accommodate the dynamic addressing. If the host does not have the IP already resolved within the local cache, it is forced to issue a reverse DNS lookup against the IP address. In most cases, the result of this reverse DNS lookup will not match the forward DNS lookup. From a CygNet perspective resources are tied up during this process and can cause other issues to arise such as timeouts. For example, you have a modem named "testmodem." When you perform a forward DNS resolution (using ping) to testmodem.provider.com, the DDNS will return the IP address. Then, if you perform a reverse DNS lookup on the IP address, using the command "nslookup <ip address>" on a Microsoft OS, it will fail because the network provider does not have a DNS that resolves the IP address to testmodem.provider.com.

